Instant messaging (IM) is a type of communication that offers real-time text transmission over a network, such as the internet. Short messages are typically transmitted bi-directionally between two parties, when each user chooses to complete a thought and select “send”. Some IM applications can use push technology to provide real-time text, which transmits messages character by character, as they are composed. Instant messaging systems tend to facilitate connections between specified known users (often using a contact list also known as a “buddy list” or “friend list”). Depending on the IM protocol, the technical architecture can be peer-to-peer (direct point-to-point transmission) or client-server (a central server retransmits messages from the sender to the communication device). More advanced instant messaging can add file transfer, clickable hyperlinks, Voice over IP, or video chat.
Natural language processing is a field of computer science, artificial intelligence, and linguistics concerned with the interactions between computers and human (natural) languages. As such, natural language processing is related to the area of human-computer interaction. Many challenges in natural language processing involve natural language understanding—that is, enabling computers to derive meaning from human or natural language input. Natural language processing can be combined with speech recognition to derive meaning from spoken language.
Speech recognition is the translation of spoken words into text. Speech recognition is referred to as automatic speech recognition, computer speech recognition, or “speech to text”. Some speech-recognition systems use “speaker-independent speech recognition” while others use “training” wherein an individual speaker reads sections of text into the speech recognition system. These systems analyze the person's specific voice and use it to fine-tune the recognition of that person's speech, resulting in more accurate transcription. Systems that do not use training are called “speaker-independent” systems, whereas, systems that use training are called “speaker-dependent” systems. Speech-recognition applications can include voice user interfaces such as voice dialing, call routing, simple data entry, preparation of structured documents, speech-to-text processing, and direct voice input.